;*************************** STRING.INPUT* By R.M. Mottola* Copyright 1981 by* MindCraft Publ. Corp.* Concord, MA 01742 **************************** * EQUATES*CHARAC EQU $0DENDCHR EQU $0EVALTYP EQU $11FORPNT EQU $85TEMTXL EQU $87TEMTXH EQU $88CHRGOT EQU $B7TXTPTL EQU $B8TXTPTH EQU $B9 LINBUF EQU $200ERROR EQU $D412INLIN EQU $D52CBREAK EQU $D86FLET2 EQU $DA7BCHKCOM EQU $DEBEPTRGET EQU $DFE3STRLT2 EQU $E3EDTXTLIT EQU $E73D ORG $300 * INPUTS ONE STRING FOR BASIC* ALLOWS ,:;" characters%* to be input without "EXTRA IGNORED" (INSTR JSR CHKCOM;NEXT CHAR MUST BE COMMA JSR PTRGET;GET POINTER TO VAR. BIT VALTYP;IS IT A STRING BNE INS1;VARIABLE? YES LDX #163;NO, DO MISMATCH ERROR
JMP ERROR!INS1 STA FORPNT;SAVE PNTR TO VAR.
STY FORPNT+1 LDA TXTPTL;SAVE CURRENT TEXT LDY TXTPTH;POINTER TOO STA TEMTXL STY TEMTXH JSR INLIN; INPUT LINE LDA LINBUF; CHECK FOR CTRL-C CMP #$3 BNE INS2 JMP BREAK;YES, BREAK"INS2 LDA #0;MAKE SURE THAT STRLIT2 STA CHARAC;WILL ONLY STOP ON A STA ENDCHR;END OF LINE CHAR (0) LDA #LINBUF